\documentclass[a4paper,12pt]{article}

\usepackage{fancyhdr}
\usepackage[utf8]{inputenc}
\usepackage{polski}
\usepackage[polish]{babel}
\usepackage{a4wide}
\usepackage{graphicx}
% 
\pagestyle{fancy}

\renewcommand{\headheight}{16pt}

\newcommand{\HRule}{\rule{\linewidth}{0.1mm}}

\begin{document}

\begin{titlepage}
\begin{center}
	\textsc{Inżynieria oprogramowania - Grupa dra inż. Leszka Grocholskiego}\\
	\textsc{II UWr 2009/2010}\\[4cm]

	\HRule \\[2cm]

	Aleksandra Kloc, Adam Grycner, Mateusz Łyczek\\[1cm]

	\textsc{\Large Wasza-fota.pl}\\[0.3cm]
	\textsc{\large Projekt struktury systemu}\\[2cm]

	\HRule\\[2.5cm]
	
\begin{center}
\textbf{Historia zmian tego dokumentu}
\end{center}
\begin{table}[h]
	\begin{center}
	{\footnotesize
	\begin{tabular}{|l|c|p{2.8cm}|l|}
		\hline
		\textbf{Data} & \textbf{Wersja} & \textbf{Autor} & \textbf{Opis zmian}\\
		\hline
		2009/11/16 & 1.0 & Zespół & Utworzenie dokumentu\\
                2009/11/16 & 1.0 & Adam Grycner & Sprzęt\\
                2009/11/20 & 1.1 & Adam Grycner & Oprogramowanie, narzędzia, struktura\\
		\hline
	\end{tabular}
	}
	\end{center}
	\caption{Historia zmian}
\end{table}
	
	
\end{center}
\end{titlepage}

\tableofcontents
\newpage


\section{Sprzęt}
Serwis ``Wasza-fota.pl'', ze względu na planowany duży ruch, musi być ulokowany na najwyższej jakości serwerach. Jednostka centralna 
zepweni komfort przeglądania naszego portalu, a serwery baz danych pozwoli umieścić wystarczającą ilość zdjęć.
\subsection{Serwery bazy danych}
Naszym celem jest takie zorganizowanie serwerów baz danych, aby zapewnić użytkownikom szybkie wykonywanie transakcji(efektywność), 
działanie serwisu przez 90\% czasu (niezawodność) oraz odporność na jakiekolwiek próby kradzieży informacji(bezpieczeństwo).
 Koniecznością jest zastosowanie rozproszonego modelu
serwerów baz danych. W tym modelu będziemy stosować zapis większością(jeden ze sposobów zorganizowania rozproszonej bazy danych).\\ 
Baza danych powinna być bardzo pojemna. Aby zapewnić odpowiednią pojemność, każdy serwer będzie miał po cztery tera-bajtowe dyski. 
Ponadto wszystkie serwery będą wyposażone w procesory o taktowaniu 3 GHz oraz pamięci operacyjne o rozmiarze 16 GB.
Oto przykładowy sprzęt, który można użyć w naszych serwerach:
\begin{itemize}
 \item 8 x Xeon DP E542 Quadcore 4x 4,2 GHz
 \item 16 GB DDR5-42 ECC Registered
 \item 8 x 1420 GB SAS 420.000 obr./min.
\end{itemize}
Według naszego zespołu takie parametry oraz rozproszoność serwerów baz danych może zagwarantować przedstawione w dokumencie wizji cechy produktu.

\subsection{Serwery WWW}
Serwer WWW nie będzie, aż tak obciążony jak serwery baz danych, jednakże na tej części będzie spoczywało najbardziej odpowiedzialne zadanie.
Serwer WWW z tego względu musi być wielce niezawodny. Aby zapewnić praktycznie stałe połączenie między naszym serwisem, a użytkownikami, zostaną użyte trzy jednostki
robocze, w tym dwie zapasowe. Każda ze stacji będzie podłączona do sieci internetowej przy pomocy łącza o przepustowości 42 gigabitów.

\subsection{Inne}
 Oprócz serwerów WWW i serwerów bazy danych, musimy zakupić serwery usług oraz serwery monitorujące. Serwery usług będą odpowiedzialne za
czynności typu wystawianie faktury, realizowanie opłat itd. Serwery usług zostały wydzielone, jako osobna logiczna jednostka z powodów bezpieczeństwa.
Operacje finansowe powinny być wykonywane na serwerze o podwyższonym rygorze bezpieczeństwa.\\
Serwery monitorujące będą odpowiedzialne za śledzenie ruchu na naszym serwisie. Będą odpowiednio reagowały na zwiększającą się ilość użytkowników.

\subsection{Podsumowanie}
Będę teraz chciał przedstawić dlaczego taka architektura serwerów pozwoli nam zrealizować przedstawione w dokumencie wizji cechy.
\begin{enumerate}
 \item Możliwość rozbudowania\\
 Dzięki zastosowaniu rozproszonej struktury serwerów, nasz serwis będzie łatwo skalowalny. Nie będzie problemem dołączenie do systemu kolejnej jednostki roboczej.
 \item Efektywność\\
  Przedstawiona powyżej prędkość dostępu do dysku i rozmiar pamięci RAM gwarantuje, że operacja jednostkowa(pojedyncze zapytanie wykonane przez klienta) 
nie będzie wykonana wolniej niż 0,05 sekundy. Podłączenie serwerów www za pomocą łącz o przepustowości 42 GB zapewni każdemu użytkownikowi 
prędkość wysyłania 1 Mbit/s oraz prędkość pobierania 100 Mbit/s.
  \item Niezawodność \\
  Rozproszoność bazy oraz zastosowanie zapasowych serwerów WWW pozwoli na dostęp do serwisu przez co najmniej 90\% czas w ciągu roku.
Jedynym momentem, w którym serwis nie będzie dostępny będzie aktualizacja oprogramowania. Awaria serwera nie będzie miała wpływu na działanie serwisu.
\end{enumerate}

\section{Oprogramowanie systemowe}
Nasze serwery będą miały zainstalowany najbardziej niezawodny system operacyjny - Linux. Wykorzystamy jedną z jego dystrybucji o nazwie Debian.
Oprócz tego do zarządzania ruchem wykorzystamy Cisco 2800 SP SERVICES Feature Pack, który zwiększy niezawodność, bezpieczeństwo, a przede wszystkim efektywność naszego serwisu.
Jako system zarządzania bazami danych bedzie użyty Oracle Enterprise Edition, który też pozwoli spełnić postawione wcześniej wymagania niefunkcjonalne.
%Zainstalujemy także najnowszą wersję Quake, która pozwoli na zapewnienie administratorom najwyższego standardu pracy.

\section{Narzędzia programistyczne}
Przy tworzeniu naszego projektu wykorzystamy następujące narzędzia wspomagające rozwój projektu m.in.:
\begin{itemize}
 \item Google code - system kontroli wersji, który ułatwia komunikację zespołu. Dzięki temu narzędziu mamy pewność, że programiści będą pracowali zawsze nad najnowszą wersją projektu.
 \item Microsoft project - program do zarządzania projektami
 \item Netbeans - zintegrowane środowisko programistyczne
 \item phpMyAdmin - narzędzie służące do łatwego zarządzania bazami danych
 \item DIA - oprogramowanie do tworzenia diagramów ER
 \item Umbrello - narzędzie do tworzenia diagramów UML
 \item Bugzilla - system kontroli błędów
 \item Glade - narzędzie do tworzenia interfejsów
 \item QtDesigner - oprogramowanie wspomagające tworzenie interfejsów
 \item Firefox - przeglądarka internetowa potrzebna do wykonania testów poprawności portalu
 \item \LaTeX - system składu drukarskiego
 \item Kile - edytor do \LaTeX
 \item Acrobat Reader - przeglądarka dokumentów pdf
 \item dvipdf - narzędzie do zamiany plików w formacie dvi na format pdf
\end{itemize}

\section{Struktura logiczna}
Nasz serwis będzie miał strukturę ``Model-Widok-Kontroler`` zwaną też modelem trójwartswowym. Taka architektura zapewnia bezpieczeństwo, efektywność, skalowalność i niezawodność systemu. Składa się ona z trzech logicznych części
\begin{itemize}
 \item Interfejs użytkownika opisany w dokumencie - \emph{Projekt interfejsu użytkownika}
 \item Logika aplikacji opisana w dokumencie - \emph{Projekt struktury systemu}
 \item Baza danych opisana w dokumencie - \emph{Projekt bazy danych}
\end{itemize}
Diagram architektury systemu został przedstawiony na rysunku \ref{img:diagram}. Interfejs użytkownika będzie się składał z następujących części:
\begin{enumerate}         % podzieliłem to na dwie części, żeby pod rysunkiem nic już nie było, a to ładnie i logicznie sie łamało na kolejne strony
 \item Część użytkownika  % ale jeśli chcesz to może wrócić do poprzedniej postaci
	\begin{itemize}
	 \item zarządzanie profilu użytkownika
	 \item FAQ
	 \item wyszukiwarka zdjęć i imprez
	 \item skrzynka na wiadomości prywatne
	 \item okno galerii
	\end{itemize}
 \item Panel fotografa
	\begin{itemize}
	 \item zarządzanie odbitkami (fotograf)
	 \item zarządzanie cenami (fotograf)
	 \item zarządzanie efektami (fotograf)
	 \item zarządzanie pakietami (fotograf)
	 \item zarządzanie zleceniami (fotograf)
	\end{itemize}
\end{enumerate}

\begin{figure}[ht]
\caption{Diagram architektury systemu}
\label{img:diagram}
\begin{center}
 \includegraphics[width=175mm]{./projekt_struktury_systemu/diagram.eps} 
\end{center}
\end{figure}
% Interfejs użytkownika będzie się składał z następujących części:
% \begin{itemize}
%  \item zarządzanie profilu użytkownika
%  \item FAQ
%  \item wyszukiwarka zdjęć i imprez
%  \item skrzynka na wiadomości prywatne
%  \item okno galerii
%  \item zarządzanie odbitkami (fotograf)
%  \item zarządzanie cenami (fotograf)
%  \item zarządzanie efektami (fotograf)
%  \item zarządzanie pakietami (fotograf)
%  \item zarządzanie zleceniami (fotograf)
% \end{itemize}







\end{document}
